home *** CD-ROM | disk | FTP | other *** search
- property answerList, responseList, questionTypeList, myAnswer, myAnswer2, myAnswerList, QuestionNum, firstChoiceSprite, doneResponseSprite, barResponseSprite, currentAnswer, currentType, currentScore, numberTries
-
- on new me
- set myAnswer to 0
- set myAnswer2 to 0
- set currentQuestion to 1
- set answerList to []
- set myAnswerList to []
- set currentScore to 0
- set questionTypeList to []
- set QuestionNum to 1
- return me
- end
-
- on initImapValues me, passAnswerList, passQuestionTypeList, passQuestionSpriteStart, passDoneSprite, passBarResponseSprite
- repeat with counter = 1 to count(passAnswerList)
- setAt(answerList, counter, getAt(passAnswerList, counter))
- end repeat
- repeat with counter = 1 to count(passQuestionTypeList)
- setAt(questionTypeList, counter, getAt(passQuestionTypeList, counter))
- end repeat
- set myAnswerList to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- set firstChoiceSprite to passQuestionSpriteStart
- set doneResponseSprite to passDoneSprite
- set barResponseSprite to passBarResponseSprite
- set currentAnswer to getAt(answerList, 1)
- set currentType to getAt(questionTypeList, 1)
- puppetSprite(doneResponseSprite, 1)
- puppetSprite(barResponseSprite, 1)
- end
-
- on initQuestionValues me
- repeat with i = firstChoiceSprite + 1 to firstChoiceSprite + currentType
- swapCast(i, "normal button")
- puppetSprite(i, 0)
- end repeat
- set QuestionNum to QuestionNum + 1
- set currentAnswer to getAt(answerList, QuestionNum)
- set currentType to getAt(questionTypeList, QuestionNum)
- set myAnswer to 0
- set myAnswer2 to 0
- set numberTries to 0
- end
-
- on turnOffQuestioning
- set QuestionNum to QuestionNum + 1
- puppetSprite(barResponseSprite, 0)
- puppetSprite(barResponseSprite - 1, 0)
- repeat with lIntCounter = firstChoiceSprite + 1 to firstChoiceSprite + 5
- puppetSprite(lIntCounter, 0)
- end repeat
- end
-
- on DisplayScore me
- set DisplayScore to currentScore + getAt(myAnswerList, QuestionNum)
- set lBoolDone to hCheckStatus()
- if lBoolDone = 1 then
- set lIntTotal to QuestionNum * 10
- else
- set lIntTotal to (QuestionNum - 1) * 10
- end if
- set lStrScoreDisplay to DisplayScore & "/" & lIntTotal
- put lStrScoreDisplay into field "currentScoreField"
- end
-
- on computeScore me
- set currentScore to currentScore + getAt(myAnswerList, QuestionNum - 1)
- end
-
- on getCurrentScore me
- return currentScore
- end
-
- on getAnswerList me
- return myAnswerList
- end
-
- on getMyFirstAnswer me
- return myAnswer
- end
-
- on getMySecondAnswer me
- return myAnswer2
- end
-
- on getCurrentType me
- return currentType
- end
-
- on setResponse me, myResponse
- case currentType of
- 5:
- if myAnswer <> 0 then
- set binaryCase to "X"
- else
- set binaryCase to "O"
- end if
- if myAnswer2 <> 0 then
- set binaryCase to binaryCase & "X"
- else
- set binaryCase to binaryCase & "O"
- end if
- case binaryCase of
- "OO":
- set myAnswer to myResponse
- swapCast(firstChoiceSprite + myAnswer, "yellow button")
- "XO":
- if myResponse = myAnswer then
- set myAnswer to 0
- swapCast(firstChoiceSprite + myAnswer, "normal button")
- else
- set myAnswer2 to myResponse
- swapCast(firstChoiceSprite + myAnswer, "yellow button")
- end if
- "OX":
- if myResponse = myAnswer2 then
- set myAnswer2 to 0
- swapCast(firstChoiceSprite + myAnswer2, "normal button")
- else
- set myAnswer to myResponse
- swapCast(firstChoiceSprite + myAnswer2, "yellow button")
- end if
- "XX":
- if myAnswer = myResponse then
- set myAnswer to 0
- swapCast(firstChoiceSprite + myAnswer, "normal button")
- else
- if myAnswer2 = myResponse then
- set myAnswer2 to 0
- swapCast(firstChoiceSprite + myAnswer2, "normal button")
- end if
- end if
- end case
- 3, 4:
- if myAnswer = 0 then
- set myAnswer to myResponse
- swapCast(firstChoiceSprite + myAnswer, "yellow button")
- else
- if myAnswer = myResponse then
- set myAnswer to 0
- swapCast(firstChoiceSprite + myAnswer, "normal button")
- end if
- end if
- end case
- put "First answer: " & myAnswer
- put "Second answer: " & myAnswer2
- end
-
- on getFirstChoiceSpriteNumber me
- return firstChoiceSprite
- end
-
- on getDoneSpriteNumber me
- return doneResponseSprite
- end
-
- on getBarSpriteNumber me
- return barResponseSprite
- end
-
- on getQuestionNumber me
- return QuestionNum
- end
-
- on checkAnswer me
- set firstChoice to "Incorrect"
- set secondChoice to "Incorrect"
- set numberTries to numberTries + 1
- case currentType of
- 5:
- set secondAnswer to currentAnswer mod 10
- set firstAnswer to (currentAnswer - firstAnswer) / 10
- if myAnswer = firstAnswer then
- set firstChoice to "Correct"
- else
- if myAnswer = secondAnswer then
- set firstChoice to "Correct"
- end if
- end if
- if myAnswer2 = firstAnswer then
- set secondChoice to "Correct"
- else
- if myAnswer2 = secondAnswer then
- set secondChoice to "Correct"
- end if
- end if
- set choices to firstChoice & secondChoice
- case choices of
- "CorrectCorrect":
- swapCast(firstChoiceSprite + myAnswer, "Green Button")
- swapCast(firstChoiceSprite + myAnswer2, "Green Button")
- swapCast(barResponseSprite, "Correct")
- swapCast(doneResponseSprite, "RArrowOnly")
- puppetSound("testRite")
- if QuestionNum = 1 then
- swapCast(33, "ArrowGoOn.E")
- end if
- if numberTries = 1 then
- setAt(myAnswerList, QuestionNum, 10)
- else
- setAt(myAnswerList, QuestionNum, 5)
- end if
- set numberTries to 0
- exit
- "IncorrectCorrect":
- swapCast(firstChoiceSprite + myAnswer, "Red Button")
- swapCast(firstChoiceSprite + myAnswer2, "Green Button")
- if numberTries = 2 then
- swapCast(barResponseSprite, "Incorrect")
- else
- swapCast(barResponseSprite, "Part Correct")
- end if
- "CorrectIncorrect":
- swapCast(firstChoiceSprite + myAnswer, "Green Button")
- swapCast(firstChoiceSprite + myAnswer2, "Red Button")
- if numberTries = 2 then
- swapCast(barResponseSprite, "Incorrect")
- else
- swapCast(barResponseSprite, "Part Correct")
- end if
- "IncorrectIncorrect":
- swapCast(firstChoiceSprite + myAnswer, "Red Button")
- swapCast(firstChoiceSprite + myAnswer2, "Red Button")
- swapCast(barResponseSprite, "Incorrect")
- end case
- if numberTries = 1 then
- swapCast(doneResponseSprite, "TryAgain")
- if QuestionNum = 1 then
- swapCast(33, "TryAgainMessage.E")
- end if
- else
- setAt(myAnswerList, QuestionNum, 0)
- swapCast(firstChoiceSprite + firstAnswer, "Green Button")
- swapCast(firstChoiceSprite + secondAnswer, "Green Button")
- swapCast(doneResponseSprite, "RArrowOnly")
- set numberTries to 0
- if QuestionNum = 1 then
- swapCast(33, "ArrowGoOn.E")
- end if
- end if
- set myAnswer to 0
- set myAnswer2 to 0
- 4, 3:
- if myAnswer = currentAnswer then
- swapCast(firstChoiceSprite + myAnswer, "Green Button")
- puppetSound("testRite")
- swapCast(barResponseSprite, "Correct")
- swapCast(doneResponseSprite, "RArrowOnly")
- if QuestionNum = 1 then
- swapCast(33, "ArrowGoOn.E")
- end if
- if numberTries = 1 then
- setAt(myAnswerList, QuestionNum, 10)
- else
- setAt(myAnswerList, QuestionNum, 5)
- end if
- set numberTries to 0
- exit
- else
- if numberTries = 1 then
- swapCast(doneResponseSprite, "TryAgain")
- swapCast(firstChoiceSprite + myAnswer, "Red Button")
- swapCast(barResponseSprite, "Incorrect")
- if QuestionNum = 1 then
- swapCast(33, "TryAgainMessage.E")
- end if
- else
- if numberTries = 2 then
- setAt(myAnswerList, QuestionNum, 0)
- swapCast(firstChoiceSprite + myAnswer, "Red Button")
- swapCast(firstChoiceSprite + currentAnswer, "Green Button")
- swapCast(barResponseSprite, "Incorrect")
- swapCast(doneResponseSprite, "RArrowOnly")
- if QuestionNum = 1 then
- swapCast(33, "ArrowGoOn.E")
- end if
- set numberTries to 0
- end if
- end if
- end if
- set myAnswer to 0
- set myAnswer2 to 0
- end case
- updateStage()
- end
-